// 检查是否已经有这个类
export function hasClass (el, className) {
  let reg = new RegExp('(^|\\s)' + className + '(\\s|$)')
  return reg.test(el.className)
}

export function addClass (el, className) {
  if (hasClass(el, className)) {
    return false
  } else {
    // 没有这个类再添加这个类
    let newClass = el.className.split(' ')
    newClass.push(className)
    el.className = newClass.join(' ')
  }
}

/* js兼容浏览器的处理 */
// 创建一个div，获取这个DOM的style,
// 用这个style的属性对比，获知浏览器的厂商
let elementStyle = document.createElement('div').style
// 立即执行函数，获知浏览器厂商名称
let vendor = (() => {
  let transformNames = {
    webkit: 'webkitTransform',
    moz: 'mozTransform',
    O: 'OTransform',
    ms: 'msTransform',
    standard: 'transform'
  }
  // 对比
  for (let key in transformNames) {
    if (elementStyle[transformNames[key]] !== undefined) {
      // 返回厂商
      return key
    }
  }
  return false
})()

/* 在上面得知厂商的情况下，拼接浏览器兼容前缀 */
export function prefixStyle (style) {
  if (vendor === false) {
    return false
  }
  if (vendor === 'standard') {
    return style
  }
  return vendor + style.charAt(0).toUpperCase() + style.substr(1)
}
